package com.yfp.operation.domain;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

/**
 * 用户余额明细
 * @TableName client_bill
 */
@TableName(value ="client_bill")
@Data
public class ClientBill implements Serializable {
    /**
     * 主键
     */
    @TableId
    private Long id;

    /**
     * 客户ID
     */
    @Schema(description = "客户ID")
    private String clientId;

    /**
     * 类型1充值2消费3退款
     */
    @Schema(description = "类型1充值2消费3退款")
    private Integer type;

    /**
     * 金额
     */
    @Schema(description = "金额")
    private BigDecimal money;

    /**
     * 赠送金
     */
    @Schema(description = "赠送金")
    private BigDecimal giftGold;

    /**
     * 订单编号
     */
    @Schema(description = "订单编号")
    private String orderSn;

    /**
     * 创建时间
     */
    @Schema(description = "创建时间")
    private Date createTime;

    /**
     * 当前余额
     */
    @Schema(description = "当前余额")
    private BigDecimal currentMoney;

    /**
     * 当前赠送金
     */
    @Schema(description = "当前赠送金")
    private BigDecimal currentGiftGold;

    /**
     * 第三方支付编号
     */
    @Schema(description = "第三方支付编号")
    private String payTradeNo;

    /**
     * 支付类型1支付宝2微信
     */
    @Schema(description = "支付类型1支付宝2微信")
    private Integer payType;

    /**
     * 预支付交易会话标识
     */
    @Schema(description = "预支付交易会话标识")
    private String prepayId;

    /**
     * 赠送金比率
     */
    @Schema(description = "赠送金比率")
    private BigDecimal giftRatio;

    /**
     * 储值活动ID
     */
    @Schema(description = "储值活动ID")
    private Long activityId;

    @TableField(exist = false)
    private static final long serialVersionUID = 1L;

    @TableField(exist = false)
    @Schema(description = "用户名称")
    private String nickName;

    @TableField(exist = false)
    @Schema(description = "变动余额")
    private String variationMoney;

    @TableField(exist = false)
    @Schema(description = "变动赠送金")
    private String variationGiftGold;

}